<?php
namespace Fiestissima\CRM\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

use Fiestissima\CRM\Entity\ClienteEmpresa;
use Fiestissima\CRM\Entity\ClientePersona;
use Fiestissima\CRM\Entity\Producto;
use Fiestissima\CRM\Entity\OrdenCompra;
use Fiestissima\CRM\Entity\OrdenCompraPago;
use Fiestissima\CRM\Entity\OrdenCompraProducto;

use Fiestissima\CRM\Form\Type\ClienteEmpresaType;
use Fiestissima\CRM\Form\Type\ClientePersonaType;
use Fiestissima\CRM\Form\Type\ProductoType;
use Fiestissima\CRM\Form\Type\OrdenCompraType;
use Fiestissima\CRM\Form\Type\OrdenCompraProductoType;
use Fiestissima\CRM\Form\Type\OrdenCompraPagoType;

class IndexController extends Controller
{
	public function indexAction(Request $request)
	{
		
		//verifica si hay órdenes de compra y las envia como array
		$repo = $this->getDoctrine()->getRepository('FiestissimaCRM:OrdenCompra', 'fiestissima');
        
		$query = $repo->createQueryBuilder('oc')
					->where('oc.orden_compra_fecha = CURRENT_DATE()')
                    ->orderBy('oc.orden_compra_id', 'DESC')
					->getQuery();

        $ordenes = $query->getResult();

        //toma clientes para combo de orden de compra
        $repoClientes = $this->getDoctrine()->getRepository('FiestissimaCRM:Cliente', 'fiestissima');

        $clientes = $repoClientes->findAll();

		//crea formulario OrdenCompra
		$ordenCompra = new OrdenCompra();
		$formOrdenCompra = $this->createForm(new OrdenCompraType(), $ordenCompra);

        //crea formulario OrdenCompraProducto
        $ordenCompraProducto = new OrdenCompraProducto();
        $formOrdenCompraProducto = $this->createForm(new OrdenCompraProductoType(), $ordenCompraProducto);

        //crea formulario OrdenCompraPago
        $ordenCompraPago = new OrdenCompraPago();
        $formOrdenCompraPago = $this->createForm(new OrdenCompraPagoType(), $ordenCompraPago);

		return $this->render('FiestissimaCRM:Default:index.html.php', array('clientes' => $clientes, 'ordenes' => $ordenes ,'formOrdenCompra' => $formOrdenCompra->createView(), 'formOrdenCompraProducto' => $formOrdenCompraProducto->createView(), 'formOrdenCompraPago' => $formOrdenCompraPago->createView()));
	}

    public function headerAction()
    {
        //crea formulario empresa
        $clienteEmpresa = new ClienteEmpresa();
        $formEmpresa = $this->createForm(new ClienteEmpresaType(), $clienteEmpresa);

        //crea formulario persona
        $clientePersona = new ClientePersona();
        $formPersona = $this->createForm(new ClientePersonaType(), $clientePersona);

        //crea formulario producto
        $producto = new Producto();
        $formProducto = $this->createForm(new ProductoType(), $producto);

        return $this->render('FiestissimaCRM:Default:header.html.php', array('formEmpresa' => $formEmpresa->createView(), 'formPersona' => $formPersona->createView(), 'formProducto' => $formProducto->createView()));
    }
	
	public function contactAction()
	{
		//return $this->render('FiestissimaCRM:Default:index.html.php', array('name' => $name));
		return $this->render('FiestissimaCRM:Default:contact.html.php');
	}
	
	public function contactResponseAction()
	{
		//return $this->render('FiestissimaCRM:Default:index.html.php', array('name' => $name));
		return $this->render('FiestissimaCRM:Default:response.html.php');
	}
}